//
//  WCIPlaceholder.h
//  WCImApp
//
//  Created by alfie on 2019/11/19.
//  Copyright © 2019 WCImApp. All rights reserved.
//

#import <Foundation/Foundation.h>

#pragma mark -- 占位图样式
typedef NS_OPTIONS(NSInteger, MOPlaceholderOptions) {
    
    MOPlaceholderOptionNone         = 1 << 0, // 无状态，不显示占位图
    MOPlaceholderOptionPrepare      = 1 << 1, // 准备状态
    MOPlaceholderOptionLoading      = 1 << 2, // 加载中，显示 gif 动画
    MOPlaceholderOptionFail         = 1 << 3, // 请求错误
    MOPlaceholderOptionNullData     = 1 << 4, // 请求成功，数据为空
    MOPlaceholderOptionNotReachable = 1 << 5, // 网络不可达，网络问题或服务器问题
    MOPlaceholderOptionNeedsLogin   = 1 << 6, // 需要登录
    MOPlaceholderOptionNotFound     = 1 << 7, // 数据不存在
};

@interface WCIPlaceholder : NSObject

typedef void(^MOPlaceholderBlock)(void);


- (instancetype)makeTarget:(id)target;

/**
 * 设置占位图的frame
 */
- (instancetype)makeFrame:(CGRect)frame;

/**
 * 点击刷新按钮的回调
 */
- (instancetype)makeRefreshHandler:(MOPlaceholderBlock)refreshHandler;

/**
 * 点击登录按钮的回调
 */
- (instancetype)makeLoginHandler:(MOPlaceholderBlock)loginHandler;

/**
 * 显示 loading状态
 */
- (void)loading;

/**
 * 隐藏
 */
- (void)hide;

/**
 * 显示 指定状态
 */
- (void)showOption:(MOPlaceholderOptions)option;


@end

